In the field of software development, a goal is to develop software applications that perform their stated functions accurately with the least amount of complex code and computation. Software development for real-time data reporting is particularly subject to inaccuracies related to timely reporting, especially when activity events occur many times over relatively short periods of time. A good example of this is currency exchange applications accessible through network connection, such as the Internet.
FIG. 1 is an exemplary line graph displaying exchange rate value over time for two specific currencies against the U.S. dollar, the Swiss Franc and the more-recently introduced Euro. The graph shows that the two separate currencies independently change in value over time thus affecting the rate of exchange with the U.S. dollar at any given point. Of course, clients wish to receive the best rate on exchange to maximize their spending power with the exchanged currency. The rate values do not actually produce a smooth curve rather they occur at specific time intervals or transactions over time.
In FIG. 1, (TX) represents a point in time when a client accesses an online system to initiate an exchange of one currency for another. At the point of time represented for the transaction, the Frank is trading at a higher rate against the U.S. dollar than the Euro. A dotted circle given the element number 101 represents a duration bubble for the time (TX). Within bubble 101 there may occur more than one transaction affecting a currency exchange order. Therefore, a typical exchange transaction may not achieve the best real-time quote information within the time frame of bubble 101.
FIG. 2 shows an expanded view of bubble 101 of FIG. 1. The client access to the system materializes at time 2 (T2), the transaction represented by point X. The client may whish to select the currency (Frank or Euro) that is the highest trading currency against the dollar. Perhaps the client wishes to exchange Euros for Franks or Franks for Euros. In any case, there have been four value changes registered within the time period of the client's transaction. TA1 and TA3 show the Franc sliding against the dollar while TA2 and TA4 show the Euro rising slightly against the dollar.
In order to get an honest rate of exchange for the exact point in time of the transaction, the system will have to perform some speculation at the moment of the quote because a state change has not occurred at the exact time T2.
What is clearly needed is an object-oriented, extendable system that can provide better temporal qualities in data reporting and response activities between clients and temporal database applications. Such a system would enhance accuracy and timeliness of reporting in temporal database environments associated with telephony networks, on-line stock trading systems, airline control operations, interest rate calculation systems, and so on.